#include <gtest/gtest.h>
#include <core/string.h>
using namespace Core;

const int RANDOM_STRING_SIZE = 10;
/*
TEST(Core_String, DefaultConstructor)
{
    const String s;
    EXPECT_STREQ(L"", s.c_str());
}

TEST(Core_String, ConstructorWithString)
{
    const WideStdString generatedString = generateRandomStdString(RANDOM_STRING_SIZE);
    const String s(generatedString.c_str());
    EXPECT_STREQ(generatedString.c_str(), s.c_str());
}

TEST(Core_String, CopyConstructor)
{
    const WideStdString generatedString = generateRandomStdString(RANDOM_STRING_SIZE);
    const String s1(generatedString.c_str());
    const String copyStringTest(s1);
    EXPECT_STREQ(s1.c_str(), copyStringTest.c_str());
}

TEST(Core_String, CompareWithCaseNotEqual)
{
    const String s1 = L"#HeLLo WOrlD!#";
    const String s2 = L"#helLo WORld!#";
    const CompareResult cmpRes = s1.compare(s2);
    EXPECT_NE(COMPARE_EQUAL, cmpRes);
}

TEST(Core_String, CompareWithCaseEqual)
{
    const String s1 = L"#Hello World!#";
    const String s2 = L"#Hello World!#";
    const CompareResult cmpRes = s1.compare(s2);
    EXPECT_EQ(COMPARE_EQUAL, cmpRes);
}

TEST(Core_String, CompareIgnoringCaseEqual)
{
    const String s1 = L"#HeLLo WOrlD!#";
    const String s2 = L"#helLo WORld!#";
    const CompareResult cmpRes = s1.compareIgnoringCase(s2);
    EXPECT_EQ(COMPARE_EQUAL, cmpRes);
}

TEST(Core_String, CompareAppend)
{
    const String result = L"onetwoTHREE";
    const String s1 = L"one";
    const String s2 = L"two";
    const String s3 = L"THREE";
    EXPECT_STREQ(result.c_str(), (s1 + s2 + s3).c_str());
}

*/